package com.sumi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sumi.common.annotation.Excel;
import com.sumi.common.core.domain.BaseEntity;

/**
 * 单据类型对象 sys_document_type
 * 
 * @author <hmy>fgf67@163.com
 * @date 2024-06-21
 */
public class SysDocumentType extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 单据类型id */
    private Long id;

    /** 单据类型编号 */
    @Excel(name = "单据类型编号")
    private String documentType;

    /** 单据类型名称 */
    @Excel(name = "单据类型名称")
    private String documentName;

    /** 前缀 */
    @Excel(name = "前缀")
    private String prefix;

    /** 时间戳格式 */
    @Excel(name = "时间戳格式")
    private String timeFormat;

    /** 连接符号 */
    @Excel(name = "连接符号")
    private String joinMark;

    /** 起始序列号 */
    @Excel(name = "起始序列号")
    private String startSequence;

    /** 下一个序列号 */
    @Excel(name = "下一个序列号")
    private String nextSequence;

    /** 序号重新编号方式（D：每天重新编号，M：每月重新编号，N：不重新编号） */
    @Excel(name = "序号重新编号方式", readConverterExp = "D=：每天重新编号，M：每月重新编号，N：不重新编号")
    private String sequenceReset;

    /** 后缀 */
    @Excel(name = "后缀")
    private String suffix;

    /** 单据版本号，订单号新增时判断 */
    @Excel(name = "单据版本号，订单号新增时判断")
    private Long version;

    /** 账期受控（Y受控，N不受控） */
    @Excel(name = "账期受控", readConverterExp = "Y=受控，N不受控")
    private String periodControl;

    /** 创建人id */
    @Excel(name = "创建人id")
    private Long createUid;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setDocumentType(String documentType) 
    {
        this.documentType = documentType;
    }

    public String getDocumentType() 
    {
        return documentType;
    }
    public void setDocumentName(String documentName) 
    {
        this.documentName = documentName;
    }

    public String getDocumentName() 
    {
        return documentName;
    }
    public void setPrefix(String prefix) 
    {
        this.prefix = prefix;
    }

    public String getPrefix() 
    {
        return prefix;
    }
    public void setTimeFormat(String timeFormat) 
    {
        this.timeFormat = timeFormat;
    }

    public String getTimeFormat() 
    {
        return timeFormat;
    }
    public void setJoinMark(String joinMark) 
    {
        this.joinMark = joinMark;
    }

    public String getJoinMark() 
    {
        return joinMark;
    }
    public void setStartSequence(String startSequence) 
    {
        this.startSequence = startSequence;
    }

    public String getStartSequence() 
    {
        return startSequence;
    }
    public void setNextSequence(String nextSequence) 
    {
        this.nextSequence = nextSequence;
    }

    public String getNextSequence() 
    {
        return nextSequence;
    }
    public void setSequenceReset(String sequenceReset) 
    {
        this.sequenceReset = sequenceReset;
    }

    public String getSequenceReset() 
    {
        return sequenceReset;
    }
    public void setSuffix(String suffix) 
    {
        this.suffix = suffix;
    }

    public String getSuffix() 
    {
        return suffix;
    }
    public void setVersion(Long version) 
    {
        this.version = version;
    }

    public Long getVersion() 
    {
        return version;
    }
    public void setPeriodControl(String periodControl) 
    {
        this.periodControl = periodControl;
    }

    public String getPeriodControl() 
    {
        return periodControl;
    }
    public void setCreateUid(Long createUid) 
    {
        this.createUid = createUid;
    }

    public Long getCreateUid() 
    {
        return createUid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("documentType", getDocumentType())
            .append("documentName", getDocumentName())
            .append("prefix", getPrefix())
            .append("timeFormat", getTimeFormat())
            .append("joinMark", getJoinMark())
            .append("startSequence", getStartSequence())
            .append("nextSequence", getNextSequence())
            .append("sequenceReset", getSequenceReset())
            .append("suffix", getSuffix())
            .append("remark", getRemark())
            .append("version", getVersion())
            .append("periodControl", getPeriodControl())
            .append("createTime", getCreateTime())
            .append("createUid", getCreateUid())
            .toString();
    }
}
